Detta dokument innehσller information som har tillkommit i sista stund eller ytterligare information angσende Microsoft SQL Server OLE DB Provider.
---------------
INNEH┼LL
---------------
1. PRODUKTBESKRIVNING
2. TEKNISKA DATA
---------------------
1. PRODUKTBESKRIVNING
---------------------
SQLOLEDB, Microsoft SQL Server OLE DB Provider, tillhandahσller grΣnssnitt f÷r anvΣndare som vill ha tillgσng till data frσn en eller flera SQL-servrar.
---------------------------
2. TEKNISKA DATA
---------------------------
2.1 ─ndringar i egenskaper f÷r SQLOLEDB
Observera f÷ljande Σndringar i egenskaperna f÷r SQLOLEDB:
* Egenskapen DBPROP_INIT_DATASOURCE anvΣnds numera f÷r att ange
namnet pσ en SQL Server. Den anvΣnds inte lΣngre f÷r att ange namnet pσ en databas.
* Egenskapen DBPROP_INIT_CATALOG anvΣnds f÷r att ange startdatabasen.
* Egenskapen DBPROP_INIT_LOCATION st÷ds inte lΣngre.
* Egenskapen DBPROP_AUTH_INTEGRATED st÷ds nu.
Om vΣrdet 'SSPI' har angetts f÷r denna egenskap anvΣnds integrerad sΣkerhet. Om null BSTR-pekare har angetts sσ anvΣnds sΣkerhetsfunktionen i SQL Server i stΣllet.
* Egenskapen SSPROP_AUTH_TRUSTEDCONNECTION st÷ds inte lΣngre.
* Den provider-specifika egenskapen DBPROP_INIT_MODE st÷ds inte lΣngre.
2.2
Om du f÷rs÷ker k÷ra ett kommando pσ en anslutning dΣr ett kommando redan vΣntar upprΣttar SQLOLEDB en annan anslutning f÷r att bearbeta det nya kommandot om f÷ljande villkor uppfylls:
* DBPROP_MULTIPLECONNECTIONS har vΣrdet VARIANT_TRUE.
* Det f÷rsta kommandot producerade ingen raduppsΣttning eller anvΣnde ingen servermark÷r.
* Det finns ingen aktiv transaktion pσ anslutningen.
Om det finns en aktiv transaktion pσ anslutningen returneras E_FAIL nΣr du f÷rs÷ker k÷ra ett andra kommando. Om det inte finns nσgon aktiv transaktion men DBPROP_MULTIPLECONNECTIONS har vΣrdet VARIANT_FALSE returneras DB_E_OBJECTOPEN nΣr du f÷rs÷ker k÷ra ett andra kommando.
Transaktioner och lσsning hanteras av SQL Server f÷r varje enskild anslutning. Om en andra anslutning upprΣttas delas inte lσsen av de kommandon som k÷rs pσ de tvσ anslutningarna. Kontrollera noggrant att ett kommando inte blockerar ett annat genom att lσsa rader som begΣrs av det andra kommandot.
2.3
I syfte att ÷ka prestanda genom att reducera nΣtverkstrafiken erhσller SQLOLEDB automatiskt parameterinformation endast om ICommandWithParameters::GetParameterInfo eller ICommandPrepare::Prepare anropas innan kommandot k÷rs. Detta innebΣr att SQLOLEDB:
* Inte automatiskt kontrollerar att korrekt datatyp har angetts f÷r ICommandWithParameters::SetParameterInfo.
* Inte automatiskt mappar till korrekt SQL-datatyp f÷r parametern frσn den DBTYPE som har angetts i accessorns bindningsinformation.
Fel kan dΣrf÷r uppstσ i programmen och precisionen kan gσ f÷rlorad om datatyper som inte Σr kompatibla med parameterns SQL-datatyp anges.
G÷r pσ f÷ljande sΣtt f÷r att f÷rhindra att detta sker:
* NΣr du hσrdkodar ICommandWithParameters::SetParameterInfo, kontrollerar du att pwszDataSourceType matchar parameterns SQL-datatyp.
* NΣr du hσrdkodar en accessor, kontrollerar du att den DBTYPE som binds till parametern inte Σr av samma typ som parameterns SQL-datatyp.
* Koda programmet att anropa ICommandWithParameters::GetParameterInfo sσ att Providern dynamiskt kan erhσlla parametrarnas SQL-datatyper. Detta medf÷r extra kommunikation i nΣtverket till servern.
2.4
DBPROP_CHANGEINSERTEDROWS kan endast ha vΣrdet VARIANT_TRUE om en Keyset-driven mark÷r anvΣnds i raduppsΣttningen.